package com.aplikata.evok.service;

import java.util.List;

import org.primefaces.model.TreeNode;

import com.aplikata.bo.Role;
import com.aplikata.evok.bo.PatientQtnaire;
import com.aplikata.evok.bo.PatientQtnaireQtInput;
import com.aplikata.evok.bo.QtCategory;
import com.aplikata.evok.bo.Qtnaire;
import com.aplikata.service.PublicService;


public interface EvokQtnaireService extends PublicService {

	void deleteQtnaire(Qtnaire qtnaire) throws Exception;
	
	void deleteQtCategory(QtCategory qtCategory) throws Exception;
	
	TreeNode getRootQtnaire(Role role);
	
	TreeNode getRootQtnairePatient(Role role);
	
	void updateRoleQtnaires(Role role, TreeNode[] selectedQtnaires) throws Exception;
	
	public void deletePatientQtnaire(PatientQtnaire patientQtnaire) throws Exception;
	
	public abstract List<?> getPatientQuestionList(PatientQtnaire patientQtnaire);
	
	public abstract PatientQtnaire updatePatientQtnaire(PatientQtnaire patientQtnaire,
			List<PatientQtnaireQtInput> resultList) throws Exception;
}
